CloudFormation のテンプレートファイルアップロードで api_error_message_500 が発生するときの対処方法
困っていた内容
CloudFormation で環境構築を行うため、テンプレートファイルのアップロードをしたところapi_error_message_500
が表示されます。操作ユーザには AWSCloudFormationFullAccess と作成するリソースへのアクセス許可を付与しており、AWS CLI だと問題なくスタックが作成できたのでテンプレートに問題はないと思います。
対処方法があれば教えてください。
どう対応すればいいの?
IAM ユーザの権限をご確認ください。
CloudFormation コンソールからスタックを作成する場合は、AWS CLI で実行する場合と比べて追加の権限が必要です。例えば、テンプレートのアップロード機能を使用する場合は、CloudFormation に対するアクセス権限以外にも、次のような S3 に対するアクセス権限が必要となります。
s3:PutObject s3:ListBucket s3:GetObject s3:CreateBucket
CloudFormation コンソールを使用する際は、AWS CLI で実行する際に比べて追加権限が必要になること認識し、必要な権限が不足していないかご確認ください。
なお、この他にもドロップダウンリスト機能を使用する場合は EC2 へのアクセス権限が必要となるなど、機能によって必要な権限は異なるため、エラーの際はドキュメントもご確認ください。
AWS CloudFormation コンソール固有のアクション - AWS CloudFormation
参考資料
AWS CloudFormation コンソールを使用する IAM ユーザーには、AWS Command Line Interface または AWS CloudFormation API を使用する場合に必要とならない追加の権限が必要です。CLI および API と比較して、コンソールには追加の権限が必要な追加の機能 (Amazon S3 バケットへのテンプレートアップロード、AWS 固有のパラメータタイプのドロップダウンリストなど) が備わっています。